import java.util.*;
public class Main {
    /*给你一个下标从 0 开始长度为 n 的整数数组 nums 和一个整数 target ，
   请你返回满足 0 <= i < j < n 且 nums[i] + nums[j] < target 的下标对 (i, j) 的数目。*/
    public static int seek(List<Integer> nums,int target) {
        int n=nums.size();
        int count=0;
        for(int left=0;left<n;left++){
            for(int right=0;right<n;right++){
                if(nums.get(left)+nums.get(right)<target&&left<right){
                    count++;
                }
            }
        }
        return count;
    }
    public static void main(String[] args) {
    Scanner sc=new Scanner(System.in);
    int n=sc.nextInt();
    List<Integer> nums=new ArrayList<>();
    for(int i=0;i<n;i++){
        nums.add(sc.nextInt());
    }
    int target=sc.nextInt();
    int  resultcount=seek(nums,target);
    System.out.println(resultcount);
    }
}